Method and apparatus for encoding and decoding messages

ABSTRACT

A method and apparatus for encoding and decoding messages are provided, the method comprising continuously changing the state of coding data in the storage cells of a coding pulse generator by a term derived from the date and clocktime. The coding data is derived from a secret basic code and the output coding pulses from the pulse generator are used to encode clear message pulses, the encoded message then being transmitted to a receiving station. The encoded message is decoded by mixing with coding pulses produced in the same way as the coding pulse were produced by the code generator. Means are provided for synchronising the generation of the coding pulses at the transmitting and receiving stations. The rules for forming the coding pulse sequences are selected so that these sequences depend only for a limited period of time on the state of their terms at the beginning of that period of time. This results in the initial coding pulses produced by the code pulse generator at an instant in time being dependant only on the coding data which occurs during a predetermined period of time prior to that instant and is independant of all coding data applied earlier to the coding pulse generator.

United States Patent [191 [111 3,808,365

Ehrat Apr. 30, 1974 [54] METHOD AND APPARATUS FOR ENCODING AND DECODING MESSAGES [57] ABSTRACT [75] Inventor: Kurt Ehrat, Zurich, Switzerland A method and app r us or encoding and decoding messages are provided, the method comprising contin- [73] Assignee. Gretag jktlegge sellslchtgt, uously changing the state of coding data in the storage Regens wltzer an cells of a coding pulse generator by a term derived [22] Filed: Dec. 6, 1971 fron tfirle date and cilocktimz. Thei rigding data is derive om a secret asic co e an e output coding [21] Appl' 205098 pulses from the pulse generator are used to encode clear message pulses, the encoded message then being [30] Foreign Application Priority Data transmitted to a receiving station. The encoded mes- Dec. 8 1970 Switzerland 18134/70 e is deemed by mixing with mdinfilqlieil' duced in the same way as the coding pulse were pro- 52 US. Cl. 178/22 duced by the generamrl Means are Provided [51] Int. Cl. H04l 9/02 Synchronismg the generation of the coding Pulses at 58 Field of Search 178/22 the transmiting and receiving smimls- The rules forming the coding pulse sequences are selected so [56] References Cited that these sequences depend only for a limited period of time on the state of their terms at the beginning of UNITED STATES PATENTS that period of time. This results in the initial coding 2 23 358 :32; g pulses produced by the code pulse generator at an instant in time being dependant only on the coding data 3,170,033 2/1965 Vasseur 178/22 which occurs during a predetermined period of time i prior to that instant and is independant of all coding igfizgl g x g i g data applied earlier to the coding pulse generator. Attorney, Agent, or Firm-Pierce, Scheffler & Parker 30 Claims, 21 awing Figures TIME CORRELATOR u BER k 82 I I Z8 suconme PULSE l 1 1 440 GENERATOR 54 mm 6 k 154 I 7 f I SECRET cone STORE 6 44 5' 3 SYNQrIZIgNIZING DIFFERENCE 81 sronz 132 f 9 8 I h -GLEAR LANGUAGE V TEXT-CLEAR MlXER I PuL g ssE flTER 102 4? r u m PATENTEDAPR 30 I974 sum 01 or 18 PATENTEDAPR 30 m4 sum 02 0F 18 llll-ll llll NQW w E2: 2104 nmkm b2 ER Nt DNv N55: 9

mqmviwm wJmvRw v Illlllll PATENTEDAPR30 m4 $808365 sum on or 18 51. WI Flljlllllllllll n nllnlhlllm IlllllllLLllIlllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllj lllllllllllllllllllllllllllllllllllllll In In mllnlnllm mllulmll lull ll JI lllllllllllllllllll ||||||l||||||| |||||||l||||||| ||||l|||||||||| u||||||||||||| d lllllllllllllllllllllllhll -1'llll1lllllllll |n||||||l||||| lllllllllllllll I q 1 iY PATENTEDAPR 30 I974 saw vs 0F 18 PATENTEIJAPR 30 I974 sum as ur 18 Ami vvQvQDQbv N. vvvo vvvbvbbbvo vvvb PATENTEDAPR 30 I974 SHEET 07 0F 18 m UP ONE

PATENTEDAPR 30 I974 sum 10 UF18 PATENTEDAPR 30 1974 sum 12 or 18 FIG. l

Z ATmax.

PATENTEDAPR 30 I974 sum-1s or 18 $66 I 855KB ms;

PATENTEDAPR 30 I974 sum '17 [1F 18 llo PATENTEDAPR 30 1974 3808.365

sum '18 or 18 METHOD AND APPARATUS FOR ENCODING AND DECODING MESSAGES This invention relates to a method for the encoded transmission of messages in which the clear language message pulses are mixed on the transmitting side with coding .pulses and the clear message pulses are restored on the receiving side by mixing the received coded pulse train with identical coding pulses, the coding pulses being generated at the transmitting and receiving stations by identical pulse generators in accordance with identical rules based on a secret basic code and a term derived from the date and time.

BACKGROUND OF THE INVENTION In a previously proposed method of this kind the rules for forming the coding pulse sequences are selected so that they depend on the initial state of coding pulse generators, the initial state itself being defined by basic and supplementary codes. Since the coding pulse generators are set to a new initial state for each new message transmission it is impossible even for authorised third parties to gain access to a connection which is already established and over which a coded message is being transmitted. This is a disadvantage, in particular in multiple transmission networks.

The invention seeks to avoid this disadvantage by forming the coding pulse sequences in accordance with rules selected so that the last mentioned sequence depends only for a limited period of time on the condition of its terms at the beginning of the said period of time and that the instantaneous state of the data contained in all the storage cells of the coding pulse generator is constantly influenced by the term derived from the data and time, at least during message transmission.

SUMMARY OF THE INVENTION In a method according to the invention the initial state of the coding pulse generators is no longer preset, instead the instantaneous state of the data in the storage cells of the coding pulse generator are constantly influenced by a term derived from the date and time, that is to say the initial state of the coding pulse generator is constantly reset. Moreover, the rules for forming the coding pulse sequences are selected so that these sequences depend only for a limited period of time on the state of their terms at the beginning of the said period of time. This means that the initial data produced by the coding pulse generator at an instant in time depends only on the input data which occurs during a predetermined period of time prior to that instant and is independent of all input data applied earlier. An authorised third party may without difficulty gain access to an existing encoded message transmission since he need only wait for those moments in time at which the coding pulse sequence which occurs at the output of the coding pulse generator at the transmitting station is independent of the secret and supplementary coding states occuring prior to the aforementioned moments in time and in which the instantaneous state of the coding pulse generator is influenced by the term derived from the date and time.

In practice this means that the third party switches on his receiver at any desired moment in time, the receiver then automatically switching itself into the existing connection at the next possible moment in time.

This invention furthermore provides apparatus for performing the aforementioned method, the apparatus having a clock, preferably electronic, and a coding pulse generator which may be driven by a control pulse sequence formed from a secret basic code and from a term derived from the date and time. The coding pulse generator may be programmed so that each coding pulse at the output of the coding pulse generator remains unaffected by that part of the control pulse sequence which occurs prior to the affected coding pulse by an amount of time equal to the so-called passage time and that the passage time switches from a larger to a smaller value for a predetermined period of time and at intervals which depend on the secret code.

In a preferred embodiment of the invention described in detail hereinafter the clock is connected as a timing generator for the coding pulse generator.

BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention will now be described in detail with reference to the accompanying drawings in which:

FIG. 1 is a block diagram of a coding apparatus.

FIGS. 2a and 2b are details of FIG. 1.

FIGS. 3 to 6 are graphs illustrating the pulses used in synchronising two sets of coding apparatus.

FIGS. 7, 8 illustrate detail modifications of FIG. 1.

FIGS. 9, 10 are diagrams showing the function of synchronising sets of coding apparatus.

FIGS. 11, 12 are detail variations of FIG. 1.

FIGS. l3, 14 are diagrams for explaining the synchronising stage illustrated in FIG. 12, and

FIGS. 15 to 20 show detail variations of FIG. 1.

DESCRIPTION OF THE PREFERRED EMBODIMENT As shownin FIG. 1, each coding station is provided with a clear language text-clear language pulse converter 9, the converter being adapted to convert the clear language message text into clear language message pulses at the transmitter or vice versa at the receiver. This converter may be, for example, a teleprinter. The output of the transmitter station converter feeds the clear language message pulses through a conductor 147 into a mixer 8 the output of which is connected to the transmission line 148, which may be a cable, wire or radio link. When using the above described coding apparatus as a receiver, the transmission line 148' is connected to a mixer 8 the output of which feeds a converter 9 through a conductor 102. To facilitate encoding, the mixer 8 is provided with encoding pulse sequences from coding apparatus which are mixed in the transmitter station mixer with the clear language message pulse sequences generated by the clear language text-clear language pulse converter 9. The pulse sequences thus encoded and received on conductor 148 are mixed with decoding pulse sequences identical to the encoding pulse sequences and fed to the clear language text-clear language pulse converter at the receiving station which restores the received encoded pulse sequences to the clear language message text.

The coding apparatus mainly comprises an encoding pulse generator 5 and a synchronising stage 6. The purpose of the coding pulse generator 5 is to produce a coding pulse sequence with the longest possible cycle and which is built up in such a way that variation between successive elements or element groups is as random as possible. The coding pulse generator comprises 

1. A method of encoding and decoding messages comprising; a. providing a first series of pulses representing code program data, b. providing a second series of pulses representing the time of day, c. continuously setting a pulse generator, at least during transmission of a message by the second series of pulses and in accordance with the data represented by the first series of pulses to generate a third series of pulses representing coding data which changes continuously with the changing time of day, d. programming the code pulse generator so that a pulse of the third series of pulses is unaffected by that part of the first and second series of pulses which precedes that pulse of the third series by a time interval defined by the first series of pulses, e. generating a fourth series of pulses representing a message to be transmitted, f. mixing the third series of pUlses with the fourth series of pulses at a transmitting station to provide an encoded message, g. transmitting the encoded message to a receiving station, h. generating at a receiving station a fifth series of pulses identical with said third series of pulses, and i. mixing the fifth series of pulses with the pulses of the received encoded message to decode it.
 2. A method according to claim 1 including generating the fifth series of pulses in the same way as the third series of pulses are generated and synchronising the generation of said fifth series of pulses with said third series of pulses.
 3. A method according to claim 1, including providing said second series of pulses by means of a first clock, and at the receiving station providing by means of a second clock a sixth series of pulses representing the time of day, providing a seventh series of pulses representing said code program data, mixing the sixth series of pulses with said seventh series of pulses to provide said fifth series of pulses and synchronising the fifth series of pulses with said third series of pulses.
 4. A method according to claim 3 including generating said third and fifth series of pulses during intervals between the transmission of messages as well as during message transmission.
 5. A method according to claim 3 including detecting the difference in time between the first and second clocks and synchronising the second clock with the first clock prior to mixing the fifth series of pulses with the pulses of the received encoded message.
 6. A method according to claim 1 including providing said second series of pulses by means of a first clock, and at the receiving station providing by means of a second clock a sixth series of pulses representing the time of day, providing a seventh series of pulses representing said code program data, mixing the sixth series of pulses with said seventh series of pulses to provide said fifth series of pulses, independently maintaining the time indication of the first and second clocks within predetermined limits, transmitting at least part of the third series of pulses, correlating said part of the third series of pulses with said fifth series of pulses to thereby derive a signal representing the time deviation between the second and first clocks, and synchronising said fifth series of pulses with the reception of the remaining part of said third series of pulses in accordance with said time deviation.
 7. A method according to claim 6 including storing said signal representing the time deviation, retarding the second clock by the amount of said deviation prior to decoding the received encoded message and resetting the second clock to its original setting by applying thereto the stored signal after said received message has been decoded.
 8. A method according to claim 6 including storing said signal representing the time deviation and synchronising only the third and fifth series of pulses.
 9. A method according to claim 6 including storing at said receiving station in separate stores time deviations between said first clock and second clocks in transmitting stations with which the receiving station communicates and using a stored time deviation associated with that transmitting station with which said receiver establishes a connection to synchronise the fifth series of pulses with the third series of pulses produced at that transmitting station upon reception of each coded message.
 10. A method according to claim 6 including providing in each said second and sixth series of pulses, pulses of different predetermined values ranging from pulses having low values to those having high values which are integral multiples of said low values, the period of the pulses of highest value being greater than twice the maximum permissible time deviation between the first and second clocks and the period of the pulses of low value corresponding to the period of the message pulses in said fourth series of pulses, and further providIng different identification data for the pulses of different values.
 11. A method according to claim 10 including bringing pulses having the lowest value in the second series of pulses into time coincidence with pulses having a corresponding value in the sixth series of pulses, then bringing pulses having the next lowest value in the second series of pulses into time coincidence with pulses having a corresponding value in the sixth series of pulses and so on until the pulses in the second and sixth series of pulses having the corresponding highest values are brought into time coincidence thereby effecting synchronisation between the pulses of the received encoded message and the pulses in the fifth series of pulses.
 12. A method according to claim 11 wherein said different predetermined values are different amplitude values of the corresponding different pulses.
 13. A method according to claim 11 wherein said different predetermined values are different pulse durations of the corresponding different pulses.
 14. A method according to claim 6 including binary coded pulses in said second series of pulses, the binary coded pulses forming groups of pulses, each group including sets of pulses, each set of a group representing the same clocktime and other groups representing different clocktime and applying each said group of pulses to said pulse generator.
 15. A method according to claim 14 including providing before each pulse group a binary coded word.
 16. A method according to claim 14 in which the pulses in the last set of pulses in a group are arranged in reverse order to the pulses in the other sets and each pulse in said last set is coded with the opposite binary value to that of corresponding pulses in the other sets.
 17. A method according to claim 6 in which the pulses of said second and sixth series of pulses are arranged in groups, each group having associated therewith pulses coded to identify that group, and having sets of pulses each set including a group of binary coded pulses representing at least part of the time indication of said first clock.
 18. A method according to claim 17 in which each set of pulses also includes binary coded pulses representing a correlation value, said method further including comparing the correlation value in the encoded message received at the receiving station with the correlation value in said fifth series of pulses to provide a signal to synchronise the encoded message with the fifth series of pulses.
 19. A method according to claim 17 including comparing the binary coded pulses representing at least part of the time indication of said first clock in one group of pulses in said second series of pulses with the binary coded pulses representing at least part of the time indication of said second clock in one corresponding group of pulses in said sixth series of pulses and using the difference between the compared time indications to correct the second clock to synchronise the encoded message with said fifth series of pulses.
 20. A method according to claim 1 including providing said second series of pulses by means of a first clock, and at the receiving station providing by means of a second clock a sixth series of pulses representing the time of day, providing a seventh series of pulses representing said code program data, mixing the sixth series of pulses with said seventh series of pulses to provide said fifth series of pulses and independantly maintaining the time indications of the first and second clocks in synchronism.
 21. A method according to claim 20 including producing a first pulse template of p digits at the transmitting station, transmitting the first pulse template to the receiving station, producing at the receiving station a second pulse template identical to the first template each template having a time duration greater than twice the maximum permissible time deviation between the first and second clocks, the first and second templates being arranged to provide a plurality of low correlation values when compared with each other in p-1 pulse template positions and a high correlation value in only one single position and synchronising the fifth series of pulses with the received encoded message by the correlation values produced during correlation of the first and second pulse templates.
 22. A method according to claim 21 in which a plurality of identical pulse templates are produced at the transmitting and receiving station, and correlating corresponding pairs of pulse templates to effect synchronisation.
 23. A method according to claim 22 in which each template produced at the receiving station is different from the others of said plurality, each different template being derived from a single template.
 24. A method according to claim 22 including preceding each template produced at the transmitting and receiving stations with a coded value of the first and second clocktimes respectively and utilising the difference in value between the clocktimes associated with those pulse templates producing said highest correlation value to effect synchronisation between said fifth series of pulses and the received encoded message.
 25. A method according to claim 20 including correlating the received encoded message in sections with corresponding sections of the fifth series of pulses to determine the difference in time indicated by said first and second clocks, stopping or retarding the second clock by at least the maximum permissible value by which the second clock can be advanced, increasing the second clock rate to correlate corresponding sections of the encoded message and the fifth series of pulse at an increased speed, and after one correlation of said sections, if syncronisation is not achieved, shifting said section of the fifth series of pulses relative to said encoded message and correlating said encoded message with the shifted section of the fifth series of pulses and continuing to correlate and shift until synchronism is achieved and then switching said second clock on, or back to its normal rate.
 26. A method according to claim 1 including mixing parts of the first series of pulses with the second series of pulses to form said third series of pulses.
 27. Apparatus for encoding and decoding messages comprising, a. a clock b. means providing a secret basic code c. means providing a control pulse sequence derived from the clocktime and said secret basic code d. a code pulse generator responsive to said control pulse sequence to provide coded output pulses e. timing means for providing timing signals representing time intervals which are defined by said secret basic code f. means for programming said code pulse generator and responsive to said timing means so that an output pulse from the code pulse generator is unaffected by that part of the control pulse sequence which proceeds that output pulse by a time interval selected from the time intervals provided by said timing means, and g. means for switching the time intervals provided by siad timing means from a larger to a smaller value at intervals which depend on the secret basic code.
 28. Apparatus according to claim 27 wherein said clock supplies timing pulses to said code pulse generator to control the operation thereof.
 29. Apparatus according to claim 27 including a correlation circuit responsive to the pulses produced by said code pulse generator and encoded message pulses received from a transmitting station, the correlation circuit being sequentially operable and having and adjustable threshold value, and further including a recirculating shift register for circulating the pulses from said code pulse generator to correlate them with the pulses in said encoded message.
 30. Apparatus according to claim 29 in which said shift register is operable at two different speeds. 